package com.nwpu.coursesupport.entity;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.nwpu.coursesupport.entity.bean.BaseEntity;
import com.nwpu.coursesupport.entity.bean.Files;
import com.nwpu.coursesupport.enumeration.RoleType;
import com.nwpu.coursesupport.enumeration.Status;
import com.nwpu.coursesupport.enumeration.SubmitTaskStatus;
import com.nwpu.coursesupport.enumeration.TaskType;

public class TaskSubmitResult extends BaseEntity{
    private Integer assignId;
    private Integer assignedId;
    private String assignedName;
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date assignDate;
    private RoleType roleType;
    private String resultAttachmentBytes;
    private Files resultAttachment;
    private String detail;
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date uploadTime;
    private SubmitTaskStatus status;
    private Integer reviewId;
    private String reviewName;
    private RoleType reviewType;    
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date markDate;
    private double score;
    private String evaluate;
    
    private Status isShare;
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date shareDate;
    private TaskType type;
    
    private Status isAnswerShow;
    
    private String ucode;//学号
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date deadline;
	private String score_item;
    
	public Integer getAssignId() {
		return assignId;
	}
	public void setAssignId(Integer assignId) {
		this.assignId = assignId;
	}
	public Integer getAssignedId() {
		return assignedId;
	}
	public void setAssignedId(Integer assignedId) {
		this.assignedId = assignedId;
	}
	public String getAssignedName() {
		return assignedName;
	}
	public void setAssignedName(String assignedName) {
		this.assignedName = assignedName;
	}
	public RoleType getRoleType() {
		return roleType;
	}
	public void setRoleType(RoleType roleType) {
		this.roleType = roleType;
	}
	public String getResultAttachmentBytes() {
		return resultAttachmentBytes;
	}
	public void setResultAttachmentBytes(String resultAttachmentBytes) {
		this.resultAttachmentBytes = resultAttachmentBytes;
	}
	public Files getResultAttachment() {
		return resultAttachment;
	}
	public void setResultAttachment(Files resultAttachment) {
		this.resultAttachment = resultAttachment;
	}
	public String getDetail() {
		return detail;
	}
	public void setDetail(String detail) {
		this.detail = detail;
	}
	public Date getUploadTime() {
		return uploadTime;
	}
	public void setUploadTime(Date uploadTime) {
		this.uploadTime = uploadTime;
	}
	public SubmitTaskStatus getStatus() {
		return status;
	}
	public void setStatus(SubmitTaskStatus status) {
		this.status = status;
	}
	public Integer getReviewId() {
		return reviewId;
	}
	public void setReviewId(Integer reviewId) {
		this.reviewId = reviewId;
	}
	public String getReviewName() {
		return reviewName;
	}
	public void setReviewName(String reviewName) {
		this.reviewName = reviewName;
	}
	public RoleType getReviewType() {
		return reviewType;
	}
	public void setReviewType(RoleType reviewType) {
		this.reviewType = reviewType;
	}
	public Date getMarkDate() {
		return markDate;
	}
	public void setMarkDate(Date markDate) {
		this.markDate = markDate;
	}
	public double getScore() {
		return score;
	}
	public void setScore(double score) {
		this.score = score;
	}
	public String getEvaluate() {
		return evaluate;
	}
	public void setEvaluate(String evaluate) {
		this.evaluate = evaluate;
	}
	public Status getIsShare() {
		return isShare;
	}
	public void setIsShare(Status isShare) {
		this.isShare = isShare;
	}
	public Date getShareDate() {
		return shareDate;
	}
	public void setShareDate(Date shareDate) {
		this.shareDate = shareDate;
	}
	public TaskType getType() {
		return type;
	}
	public void setType(TaskType type) {
		this.type = type;
	}
	public Status getIsAnswerShow() {
		return isAnswerShow;
	}
	public void setIsAnswerShow(Status isAnswerShow) {
		this.isAnswerShow = isAnswerShow;
	}
	public String getUcode() {
		return ucode;
	}
	public void setUcode(String ucode) {
		this.ucode = ucode;
	}
	public Date getAssignDate() {
		return assignDate;
	}
	public void setAssignDate(Date assignDate) {
		this.assignDate = assignDate;
	}

	public Date getDeadline() {
		return deadline;
	}

	public void setDeadline(Date deadline) {
		this.deadline = deadline;
	}

	public String getScore_item() {
		return score_item;
	}

	public void setScore_item(String score_item) {
		this.score_item = score_item;
	}

	@Override
	public String toString() {
		return "TaskSubmitResult{" +
				"assignId=" + assignId +
				", assignedId=" + assignedId +
				", assignedName='" + assignedName + '\'' +
				", assignDate=" + assignDate +
				", roleType=" + roleType +
				", resultAttachmentBytes='" + resultAttachmentBytes + '\'' +
				", resultAttachment=" + resultAttachment +
				", detail='" + detail + '\'' +
				", uploadTime=" + uploadTime +
				", status=" + status +
				", reviewId=" + reviewId +
				", reviewName='" + reviewName + '\'' +
				", reviewType=" + reviewType +
				", markDate=" + markDate +
				", score=" + score +
				", evaluate='" + evaluate + '\'' +
				", isShare=" + isShare +
				", shareDate=" + shareDate +
				", type=" + type +
				", isAnswerShow=" + isAnswerShow +
				", ucode='" + ucode + '\'' +
				", deadline=" + deadline +
				", score_item='" + score_item + '\'' +
				'}';
	}
}